package com.ssy.lingxi.member.merchant.service.paas;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.api.model.vo.paas.RoleAuthVO;
import com.ssy.lingxi.member.merchant.api.model.vo.paas.RoleConfigVO;
import com.ssy.lingxi.member.merchant.api.model.vo.paas.RoleVO;


/**
 * 业务平台 - 角色管理服务接口
 * @author 万宁
 * @version 2.0.0
 * @date 2020-06-13
 */
public interface IPaasRoleService {
    /**
     * 新增角色
     * @param roleVO 接口参数
     * @return 操作结果
     */
    Wrapper<Long> addRole(RoleVO roleVO);

    /**
     * 更新角色
     * @param roleVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> updateRole(RoleVO roleVO);

    /**
     * 删除角色
     * @param roleVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> deleteRole(RoleVO roleVO);

    /**
     * 更改角色状态
     * @param roleVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> updateRoleStatus(RoleVO roleVO);

    /**
     * 设置角色权限
     * @param roleAuthVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> setRoleAuth(RoleAuthVO roleAuthVO);

    /**
     * 设置角色关联的配置资料
     * @param configVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> setRoleConfig(RoleConfigVO configVO);

}
